Large enterprises receive numerous telephone calls, each of which must be routed in accordance with callers' instructions. Calls typically are routed by a human operator or an automated call routing system (commonly referred to as an “automated attendant” or “autoattendant”). Human operators typically route calls accurately and efficiently, but at a relatively high cost. Autoattendant systems, on the other hand, typically are cheaper to implement, but tend to be less accurate and efficient than human operators. For example, some autoattendants present a caller with a hierarchical menu consisting of a list of choices through which the caller must navigate. Often, making a choice opens up a menu of further choices. In large organizations, the menu hierarchy may be very complex, requiring several choices by a caller, and requiring a caller to listen to a long menu list in order to understand the available choices. Navigating through such menu hierarchies typically is a frustrating and lengthy process for most callers and not very efficient.
Traditionally, autoattendants play an announcement to the caller and prompt a caller to make one of multiple selections using a voice response unit. For example, the caller may be prompted to dial the extension of the party being called. The caller also may be given other options, such as leaving a voice message or accessing a directory of names if the extension of the called party is not known. Some early automated telephone directories required the caller to spell the name of the called party using a telephone dual-tone multifrequency (DTMF) keypad. Most recent autoattendant systems are voice-enabled, allowing callers to be routed to a desired call destination simply by speaking the name of the call destination. In these systems, an autoattendant answers an incoming call and asks the caller to speak the name of the party or department being called. The autoattendant includes a speaker-independent speech recognition engine that identifies and translates a received speech signal into name data. The autoattendant obtains a telephone number corresponding to the translated name data from a telephone number directory based on the translated name data, and routes the call to that telephone number.
When a call destination name search provides an ambiguous result, some conventional autoattendant systems rely on the caller's ability to distinguish between parties based on telephone numbers or other information. These systems become increasingly more cumbersome as the number of similar names that are maintained in the call destination directory increases. Other autoattendant systems use secondary information that is contained in subscriber listings to disambiguate search results and provide the telephone number and other data that are associated with a desired party.